const express = require('express');
const cors = require('cors');
const path = require('path');

module.exports = {
    router: {
        test: require('./test'),
        user: require('./user'),
        file: require('./file'),
        websocket: require('./websocket'),
    },

    create: function (app) {
        // 跨域 问题处理
        app.use(cors());

        Object.keys(this.router).forEach((key) => {
            app.use(`/${key}`, this.router[key]);
        });

        // 静态资源
        app.use(express.static(path.join(__dirname, '../public')));

        // 首页处理
        app.get('/', (req, res) => {
            res.sendFile(path.join(__dirname, '../public/html/index.html'));
        });

        // 通用 HTML 页面处理 - 支持所有 .html 文件
        app.get('/*.html', (req, res) => {
            const fileName = req.params[0] + '.html';
            const filePath = path.join(__dirname, '../public/html', fileName);

            // 检查文件是否存在
            const fs = require('fs');
            if (fs.existsSync(filePath)) {
                res.sendFile(filePath);
            } else {
                // 文件不存在，返回 404
                res.status(404).sendFile(path.join(__dirname, '../public/html/404.html'));
            }
        });

        // 支持子目录的 HTML 页面处理
        app.get('/html/*.html', (req, res) => {
            const fileName = req.params[0] + '.html';
            const filePath = path.join(__dirname, '../public/html', fileName);

            const fs = require('fs');
            if (fs.existsSync(filePath)) {
                res.sendFile(filePath);
            } else {
                res.status(404).sendFile(path.join(__dirname, '../public/html/404.html'));
            }
        });
        // 404处理 app.use('*',(req,res)=>{})
        app.use((req, res) => {
            res.sendFile(path.join(__dirname, '../public/html/404.html'));
        });
    },
};
